SOMMAIRE DES OPERATIONS SUR LES QUATERNIONS |
CONTENU : Rédigé
septembre 2013 Mathématiques appliquées
II QUATERNIONS UNITAIRES ET ROTATIONS
IV QUATERNIONS- ROTATION INSTANTANEE
V MISE EN EQUATIONS AVEC QUATERNION VI NORMALISATION D'UN QUATERNION |
|
Cette page est destinée aux utilisateurs avertis, qui utilisent les quaternions dans leur travaux. Elle résume ( je l'espère! ) l'essentiel des résultats concernant les opérations ou algorithmes mettant en jeu des quaternions. Chaque fois qu'il sera possible le lecteur peut conforter sa confiance avec un lien dédié à l'opération. Bien évidemment, ces liens m'ont été utiles, mon but n'étant de faire étalage de mes connaissances mais simplement d'en fournir et rassembler un maximum sur le même sujet: les quaternions.
L'utilisateur doit considérer cette page comme un formulaire ou un mémento.
NB :Lien externe en bleu et lien interne dans mon site en rouge
II QUATERNIONS ET PRODUT DE ROTATIONS :
L'essentiel des applications pratiques de géométrie ou de paramétrage en mécanique, robotique,...
1 - LES QUATERNIONS UNITAIRES : Tout quaternion unitaire peut s'écrire avec un angle q et un vecteur U de R3.: 2 - APPLICATION LINEAIRE DE R3 DANS R3 : On définit une application de P, ensemble des quaternions purs ( donc des vecteurs, donc de R3 ) dans P, par Le vecteur V est transformé en W, par une ROTATION D'ANGLE q AUTOUR DE L'AXE ORIENTE PAR U 3 - COMPOSITION DES ROTATIONS DE R3 DANS R3 : ATTENTION : Rubrique très importante Dans les applications pratiques, les quaternions définissent des rotations successives transformant notamment le repère fixe R1 en une suite de repères R2, ... Rn.. TRAVAIL DANS LE REPÈRE FIXE : c.a.d tous les quaternions sont exprimés dans le repère fixe, alors la multiplication s'opèrent comme pour les applications, inverse de l'ordre des rotations.. Q = Qn-1.Qn-2.....Q1 TRAVAIL AVEC EXPRESSION DANS LES REPÈRES INTERMEDIAIRES : c.a.d chaque quaternion Qk, est exprimé dans son repère de départ Rk. La multiplication s'opère alors dans l'ordre naturel des rotations. Q = Q1.Q2......Qn-1 Avantage : L'expression des quaternions est toujours simple. Voir alors l'écriture en cascade des quaternions, avec les rotations se faisant toujours autour d'un des axes du repère intermédiaire. avec les règles opératoires vues plus haut Exemples : Euler, Cardan
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
4 - REPRESENTATION COMPLEXE DES ROTATIONS DE R3 DANS R3 : Les quaternions unitaires éléments de P peuvent se représenter sous forme complexe ( qui généralise Z = reiq =r (cosq + i sinq))
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
4 - QUATERNIONS ET GEOMETRIE : a) Symétrie par rapport à un plan ou réflexion ( effet miroir ) U est un unitaire normal à P Le transformé d'un vecteur V est W tel que : |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
b) Projection sur un plan : Plan P orienté par U |
c) Projection sur un axe unitaire U |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
c) Relations symétriques entre 2 vecteurs Vecteurs U, V représentés par les quaternions purs U et V. Les résultats ressemblent à ceux ci-dessus Réjection de U par rapport à V Projection de U sur V Réflexion de U par rapport à V |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
d) Relations symétriques entre 2 vecteurs Décomposition d'un quaternion sur un autre Partie parallèle Partie orthogonale
|
Partie parallèle = projection de U sur V Partie orthogonale = Réjection de U par rapport à V NB formules comme au dessus |
> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
e) Similitude : Tout quaternion peut se mettre sous la forme ci contre La transformation de R3 W --->L(W) est manifestement une rotation d'angle q et d'axe U suivie d'une homothétie de rapport ||Q||², donc une similitude
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ci-dessous quelques rotations presque évidentes
|
III QUATERNIONS - MATRICES - CHANGEMENTS DE REPERE :
En mécanique du solide , les mouvements sont généralement paramétrés par des angles, donc quaternions et matrices trouvent naturellement leur champ d'application. Comme les quaternions demandent moins de calculs, leur usage est souvent conseillé.
|
Quaternion Q
|
|
Matrice de rotation R ( entre bases ) |
Matrice de passage P ( entre composantes ) |
Lien |
2 - QUATERNION CALCULE EN FONCTION D'UNE DES MATRICES: Rappelons que R = P-1 = P* (transposée ), donnons le calcul avec la matrice de passage P. |
||
Relations aisées à vérifier |
Les 4 premières relations donnent q0, q1, q2, q3, au signe près. Nécessairement l(un des qi est non nul, car le quaternion est unitaire. donc par exemple c'est q0 qui est non nul, prenons le positif. Comme les 6 dernières relations contiennent 4 fois q0, elles déterminent le signe de toutes les autres composantes. NB : En général, c'est l'initialisation qui détermine l'un des signes et donc tous les signes.
|
|
IV QUATERNIONS ET ROTATION INSTANTANEE :
En mécanique du solide ou mécanique spatiale, les mouvements paramétrés par des angles et représentés par des quaternions, feront inévitablement apparaître des dérivées et notamment la dérivée du quaternion d'attitude, que ce soit dans le repère fixe ( souvent inertiel ) ou dans le repère mobile ( souvent lié au solide S ).
Il faut donc savoir calculer la dérivée d'un quaternion fonction du temps t.
1 - VECTEUR ROTATION INSTANTANEE ( R mobile/Ra fixe ) :
|
P est l'ensemble vectoriel des quaternions purs, isomorphe à R3 W est le quaternion représentant la rotation de R/Ra, exprimé dans la même base que le quaternion Q ( soit R soit Ra ) |
|||||
Conclusion
Explicitée ci-dessous |
||||||
Quaternion rotation en axes inertiels I J K
|
Quaternion rotation en axes mobiles i j k
|
|||||
2 - DERIVEE DU QUATERNION D'ATTITUDE EN AXES INERTIELS I J K
|
3 - DERIVEE DU QUATERNION D'ATTITUDE EN AXES MOBILES i j k
|
V QUATERNIONS ET MISE EN EQUATIONS DE L'ATTITUDE : Il s'agit ici de la mise en équations du mouvement d'un solide autour de son centre d'inertie, ce que l'on nomme l'attitude ( avion en vol, contrôle d'un satellite en orbite...) Généralement les paramètres sont des angles, le choix est varié et dépend du mobile. La difficulté avec des angles, est que leur définition géométrique peut entraîner des cas de non définition, avec comme conséquences de possibles "division par zéro" que les calculateurs n'aiment pas. L'utilisation des quaternions d'attitude écarte en partie ce problème, mais il en reste un spécifique aux quaternions purs: ils doivent rester de norme 1, c'est une condition à surveiller. NB : Dans les équations qui suivent le repère R est lié au solide et principal d'inertie.
|
||
1- COMPORTEMENT DIFFERENTIEL DU QUATERNION EN AXES LIES AU SOLIDE S: Système différentiel de 4 équations donnant Q(t) connaissant la rotation instantanée. NB : Au cours de l'i,tégration, il est nécessaire et indispensable de vérifier à chaque pas que le quaternion reste unitaire dans son évolution
|
|
|
2- EQUATION D'ATTITUDE EN AXES LIES AU SOLIDE S: Système différentiel de 4 équations donnant Q(t) connaissant la rotation
|
||
3- SYSTEME DIFFERENTIEL COMPLET DONNANT VECTEUR ROTATION ET QUATERNION: Rassemblant les 2 résultats précédents, le système différentiel de 7 équations qui donne Q(t) ( 4 inconnues ) et le vecteur rotation ( 3 inconnues p, q, r ), avec les notations déjà citées plus haut + Vérification à chaque pas de la normalisation du quaternion = NORMALISATION DU QUATERNION
|
||
3 - NORMALISATION DU QUATERNION : Le quaternion Q = ( q0 q1 q2 q3 ) représentant une rotation est obligatoirement unitaire et doit le rester durant toute l'intégration. Dans l'espace R4 le vecteur Q à quatre composantes voit son extrémité parcourir la sphère unité E²+ X²+Y²+Z² =1. or il est clair que la différentielle de Q, soit dQ, est dans le plan tangent à cette sphère donc L'extrémité de Q'(t+dt) = Q(t)+Q'(t)dt n'est pas sur la sphère en général, même si le calcul utilise un algorithme d'évaluation de dQ=Q'(t)dt avec plusieurs points intermédiaires calculés en des temps entre t et t+dt. Il faut donc ASTREINDRE Q à rester au plus près de la sphère unité, c'est la NORMALISATION DU QUATERNION a) Pourquoi est-ce capital? Parce que si au cours du calcul de Q = (cosq + U sinq) = ( q0 q1 q2 q3 ), on veut évaluer q et la norme de Q supérieure à 1 ( même très légèrement ), le calculateur n'aimera pas !!!! Il faut donc se prémunir de cette éventualité, à chaque pas de calcul. b) Suggestions de solutions? N'étant pas un spécialiste de l'intégration numérique ( bien que j'ai pu en réaliser de nombreuses, en "amateur", sous Matlab), je vous livre quelques idées sérieuses suite à mes lectures sur Internet. 1 - Première idée de normalisation: Elle consiste à calculer le quaternion Q(t), par une intégration de pas constant Dt, à l'aide de la matrice que j'appellerai matrice dérivée normalisante. Ceci suppose donc que l'on puisse fixer le pas d'intégration. puis par un algorithme classique d'intégration, calculer Q(t+Dt ) = Q(t)+DQN où DQN est l'accroissement du quaternion durant Dt Remarque : si on pose x = ||Q|| on a ||Q1||=F(x)=(3-x)*x/2 dont la dérivée s'annule en x=1, donnant un maximum F(1)=1. Ceci nous permet d'affirmer que ||Q1|| est toujours inférieure ou égale à 1 et si Q est unitaire alors Q1 l'est aussi. L'inversion des lignes trigonométriques à partir de Q est donc toujours assurée. Précision : Pour ce qui est des vérifications? j'ai pu vérifier un mouvement de Poinsot, et notamment un calcul d'énergie cinétique qui doit rester constante, avec une erreur relative de 6 10-10, entre le début et la fin du calcul, sur une durée de 8000 secondes, avec un pas de 0.5 s. 1 - Deuxième idée de normalisation: Elle ressemble beaucoup à la première, mais utilise un gain K, qu'il faut choisir avec soin ( Un premier choix pourrait être K = 1/ Dt ) - Calculer un terme correctif de la longueur du quaternion ( voir note de calcul ci-après) - Calculer l'accroissement DQ à partir de sa dérivée et d'une méthode d'intégration ( RK4 par exemple ..) - Calculer un terme correctif de la longueur du quaternion ( voir note de calcul ci-après) NB1 : La normalisation reste parfaite à chaque pas NB2 :Sur un cas concret d'intégration durant un temps de 42 jours environ, avec un pas de 0.5 seconde, avec un système conservatif, l'erreur relative sur l'énergie n'a pas dépassé le millionième.
|
|
Je me suis posé la question "pourquoi un tel choix ?
Raisonnons sur la méthode d'intégration la plus basique, celle d'Euler. Supposons une étape où le quaternion n'est pas normé, alors sa longueur est || Q || = 1+e
On reconnaît dans le premier terme matriciel, l'accroissement DQ du quaternion sans normalisation. Dans le second terme on trouve la correction DQC apportée par la normalisation.
Le quaternion Q1 est colinéaire à Q et sa longueur est :
On constate donc que le quaternion Q(t) est normalisé, et avec garantie que Q1(t) a une norme inférieure à 1, avant même d'être incrémenté d'un terme du deuxième ordre par rapport à e .
Ce qui signifie que si la précision sur les composantes du quaternion est de 10-9 sa longueur est 1 à 10-16 ou 10-17 près.
CONCLUSION :
A chaque pas de calcul, quel que soit la méthode d'intégration, on garde Q1 à la place de Q avec un calcul simple
NB : Stockage des résultats:
C'est bien évidemment le quaternion Q1(t) qu'il faut stocker en sortie des calculs, avec le double avantage :
- Être normalisé
- Son module est toujours inférieur à 1, avec une grande précision.
NB : En effet Q(t+Dt ) = Q1(t)+DQ peut très bien avoir une norme plus grande que 1, vu que DQ est normal à Q pouvant faire sortir l'extrémité de Q(t+Dt ) de la sphère unité.
NB : Je souhaite que le ( ou les ) lecteurs qui utiliseront cette méthode me renseignent
sur la robustesse du calcul. Je me ferai alors plaisir de les citer avec leur exemple pratique.
LIENS BIBLIOGRAPHIQUES INTERNET
Quaternions et traitement des couleurs et des images
http://stackoverflow.com/questions/11667783/quaternion-and-normalization
Idées sur la normalisation intéressant pour un mécanicien, écrit en anglais
Intégration par la méthode de Runge-Kutta
Optimisation des erreurs sur l'intégration des quaternions d'Euler, suivant le pas et la méthode ( Runge Kutta ou Crouch Grossman Excellente étude en anglais )
Guiziou Robert janvier 2016